package org.lanqiao.tjut.service;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

public class DoSthAroundAdvice implements MethodInterceptor {

	@Override
	public Object invoke(MethodInvocation invocation) throws Throwable {
		Object result = null;
		try {
			// 在invocation.proceed方法之前进行的处理是 advice 之前的通知
			System.out.println("advice 之前。。。");
			// 通过反射调用被代理对象的连接点的方法
			// 在执行连接点的方法
			result = invocation.proceed();
			// 在invocation.proceed方法之后进行的处理是 advice 之后的通知
			System.out.println("advice 之后。。。");

		} catch (Exception e) {
			// 在这里进行业务逻辑是处理之中异常 通知
			System.out.println("advice 之中异常。。。");
		}
		return result;

	}

}
